/**
* Project Name:myservice
* Date:2018年12月16日
* Copyright (c) 2018, jingma All Rights Reserved.
*/

package cn.benma666.kettle.ljq;

import javax.servlet.http.HttpServletRequest;

import cn.benma666.sjsj.web.DefaultLjq;
import org.pentaho.di.core.exception.KettleException;
import org.springframework.ui.Model;

import cn.benma666.domain.SysSjglSjdx;
import cn.benma666.iframe.Conf;
import cn.benma666.iframe.Result;
import cn.benma666.kettle.mytuils.TimingUtil;

import com.alibaba.fastjson.JSONObject;

/**
 * 作业定时设置拦截器 <br/>
 * date: 2018年12月16日 <br/>
 * @author jingma
 * @version 
 */
public class JobDsszLjq extends DefaultLjq {
    @Override
    public JSONObject jcxx(JSONObject myParams) {
        myParams = super.jcxx(myParams);
        sjdx = (SysSjglSjdx) myParams.get(KEY_SJDX);
        JSONObject yobj = myParams.getJSONObject(KEY_YOBJ);
        //取出对应作业的定时信息
        JSONObject timing = TimingUtil.getTimingByJobId(myParams.getJSONArray("$.sys.ids").getInteger(0));
        timing.put(FIELD_ID, myParams.getJSONArray("$.sys.ids").getInteger(0));
        myParams.put(KEY_OBJ, timing);
        return myParams;
    }
    @Override
    public Result save(JSONObject myParams) {
        JSONObject timing = myParams.getJSONObject(KEY_YOBJ);
        try {
            TimingUtil.saveTimingToKettle(timing);
            return success("保存成功");
        } catch (KettleException e) {
            return failed("报错定时信息失败："+e.getMessage(),e);
        }
    }
    /**
    * 基础判断过滤 <br/>
    * @author jingma
    * @param sjdx
    * @param myParams
    * @return
    */
    private Result ok(SysSjglSjdx sjdx, JSONObject myParams) {
        if(!sjdx.get("zykdm").equals(Conf.getVal("ddkettle"))){
            //每个应用只能调度一个资源库，多个时需要部署多份，使用同一个sjsj数据库。
            return failed("本应于只能调度"+Conf.getVal("ddkettle")+"数据对象的作业");
        }
        return success("ok");
    }
    
}
